home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 9 / AMUG BBS in a Box Volume IX (August 1993) (MacWizards).iso / Files / Prog / T / Think-Pascal-7.0.cpt / THINK Pascal Interfaces / Palettes.p < prev    next >
Encoding:
Text File  |  1991-04-05  |  4.8 KB  |  182 lines  |  [TEXT/PJMM]

  1. {    This file has been processed by The THINK Pascal Source Converter, v1.1.    }
  2.  
  3. {}
  4. {Created: Saturday, January 19, 1991 at 7:08 AM}
  5. {    Palettes.p}
  6. {    Pascal Interface to the Macintosh Libraries}
  7. {}
  8. {        Copyright Apple Computer, Inc.    1987-1990}
  9. {        All rights reserved}
  10. {}
  11.  
  12.  
  13. {$IFC UNDEFINED UsingIncludes}
  14. {$SETC UsingIncludes := 0}
  15. {$ENDC}
  16.  
  17.  
  18. unit Palettes;
  19. interface
  20.     uses
  21.         Types, Quickdraw;
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.     const
  39.         pmCourteous = 0;                            {Record use of color on each device touched.}
  40.         pmTolerant = $0002;                         {render ciRGB if ciTolerance is exceeded by best match.}
  41.         pmAnimated = $0004;                         {reserve an index on each device touched and render ciRGB.}
  42.         pmExplicit = $0008;                         {no reserve, no render, no record; stuff index into port.}
  43.  
  44.         pmWhite = $0010;
  45.         pmBlack = $0020;
  46.  
  47.         pmInhibitG2 = $0100;
  48.         pmInhibitC2 = $0200;
  49.         pmInhibitG4 = $0400;
  50.         pmInhibitC4 = $0800;
  51.         pmInhibitG8 = $1000;
  52.         pmInhibitC8 = $2000;
  53.  
  54.  
  55. { NSetPalette Update Constants }
  56.         pmNoUpdates = $8000;                        {no updates}
  57.         pmBkUpdates = $A000;                        {background updates only}
  58.         pmFgUpdates = $C000;                        {foreground updates only}
  59.         pmAllUpdates = $E000;                       {all updates}
  60.  
  61.     type
  62.         ColorInfo = record
  63.                 ciRGB: RGBColor;                        {true RGB values}
  64.                 ciUsage: INTEGER;                       {color usage}
  65.                 ciTolerance: INTEGER;                   {tolerance value}
  66.                 ciDataFields: array[0..2] of INTEGER;  {private fields}
  67.             end;
  68.  
  69.         PalettePtr = ^Palette;
  70.         PaletteHandle = ^PalettePtr;
  71.         Palette = record
  72.                 pmEntries: INTEGER;                     {entries in pmTable}
  73.                 pmDataFields: array[0..6] of INTEGER;  {private fields}
  74.                 pmInfo: array[0..0] of ColorInfo;
  75.             end;
  76.  
  77.  
  78.     procedure InitPalettes;
  79.     inline
  80.         $AA90;
  81.     function NewPalette (entries: INTEGER; srcColors: CTabHandle; srcUsage: INTEGER; srcTolerance: INTEGER): PaletteHandle;
  82.     inline
  83.         $AA91;
  84.     function GetNewPalette (PaletteID: INTEGER): PaletteHandle;
  85.     inline
  86.         $AA92;
  87.     procedure DisposePalette (srcPalette: PaletteHandle);
  88.     inline
  89.         $AA93;
  90.     procedure ActivatePalette (srcWindow: WindowPtr);
  91.     inline
  92.         $AA94;
  93.     procedure SetPalette (dstWindow: WindowPtr; srcPalette: PaletteHandle; cUpdates: BOOLEAN);
  94.     inline
  95.         $AA95;
  96.     procedure NSetPalette (dstWindow: WindowPtr; srcPalette: PaletteHandle; nCUpdates: INTEGER);
  97.     inline
  98.         $AA95;
  99.     function GetPalette (srcWindow: WindowPtr): PaletteHandle;
  100.     inline
  101.         $AA96;
  102.     procedure CopyPalette (srcPalette: PaletteHandle; dstPalette: PaletteHandle; srcEntry: INTEGER; dstEntry: INTEGER; dstLength: INTEGER);
  103.     inline
  104.         $AAA1;
  105.     procedure PmForeColor (dstEntry: INTEGER);
  106.     inline
  107.         $AA97;
  108.     procedure PmBackColor (dstEntry: INTEGER);
  109.     inline
  110.         $AA98;
  111.     procedure AnimateEntry (dstWindow: WindowPtr; dstEntry: INTEGER; srcRGB: RGBColor);
  112.     inline
  113.         $AA99;
  114.     procedure AnimatePalette (dstWindow: WindowPtr; srcCTab: CTabHandle; srcIndex: INTEGER; dstEntry: INTEGER; dstLength: INTEGER);
  115.     inline
  116.         $AA9A;
  117.     procedure GetEntryColor (srcPalette: PaletteHandle; srcEntry: INTEGER; var dstRGB: RGBColor);
  118.     inline
  119.         $AA9B;
  120.     procedure SetEntryColor (dstPalette: PaletteHandle; dstEntry: INTEGER; srcRGB: RGBColor);
  121.     inline
  122.         $AA9C;
  123.     procedure GetEntryUsage (srcPalette: PaletteHandle; srcEntry: INTEGER; var dstUsage: INTEGER; var dstTolerance: INTEGER);
  124.     inline
  125.         $AA9D;
  126.     procedure SetEntryUsage (dstPalette: PaletteHandle; dstEntry: INTEGER; srcUsage: INTEGER; srcTolerance: INTEGER);
  127.     inline
  128.         $AA9E;
  129.     procedure CTab2Palette (srcCTab: CTabHandle; dstPalette: PaletteHandle; srcUsage: INTEGER; srcTolerance: INTEGER);
  130.     inline
  131.         $AA9F;
  132.     procedure Palette2CTab (srcPalette: PaletteHandle; dstCTab: CTabHandle);
  133.     inline
  134.         $AAA0;
  135.     function Entry2Index (entry: INTEGER): LONGINT;
  136.     inline
  137.         $7000, $AAA2;
  138.     procedure RestoreDeviceClut (gd: GDHandle);
  139.     inline
  140.         $7002, $AAA2;
  141.     procedure ResizePalette (p: PaletteHandle; size: INTEGER);
  142.     inline
  143.         $7003, $AAA2;
  144.     procedure SaveFore (var c: ColorSpec);
  145.     inline
  146.         $303C, $040D, $AAA2;
  147.     procedure SaveBack (var c: ColorSpec);
  148.     inline
  149.         $303C, $040E, $AAA2;
  150.     procedure RestoreFore (c: ColorSpec);
  151.     inline
  152.         $303C, $040F, $AAA2;
  153.     procedure RestoreBack (c: ColorSpec);
  154.     inline
  155.         $303C, $0410, $AAA2;
  156.     function SetDepth (gd: GDHandle; depth: INTEGER; whichFlags: INTEGER; flags: INTEGER): OSErr;
  157.     inline
  158.         $303C, $0A13, $AAA2;
  159.     function HasDepth (gd: GDHandle; depth: INTEGER; whichFlags: INTEGER; flags: INTEGER): INTEGER;
  160.     inline
  161.         $303C, $0A14, $AAA2;
  162.     function PMgrVersion: INTEGER;
  163.     inline
  164.         $7015, $AAA2;
  165.     procedure SetPaletteUpdates (p: PaletteHandle; updates: INTEGER);
  166.     inline
  167.         $303C, $0616, $AAA2;
  168.     function GetPaletteUpdates (p: PaletteHandle): INTEGER;
  169.     inline
  170.         $303C, $0417, $AAA2;
  171.     function GetGray (device: GDHandle; backGround: RGBColor; var foreGround: RGBColor): BOOLEAN;
  172.     inline
  173.         $303C, $1219, $AAA2;
  174.  
  175.  
  176.     { UsingPalettes }
  177.  
  178.  
  179. implementation
  180. end.
  181.  
  182.